package com.elai.operate.domain;

import com.elai.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

/**
 * 运营计划对象 operate_plan
 *
 * @author cjm
 * @date 2021-12-06
 */
public class OperatePlanDO extends BaseEntity {
    private static final long serialVersionUID = -5661913371826753516L;

    private long id;

    private String title;

    private String planName;

    /**
     * 运行类型
     */
    private String planTypeIndex;

    /**
     * 触达方式
     */
    private String triggerTypeIndex;

    /**
     * 运行状态
     */
    private String checkStatus;

    /**
     * 触发时间
     */
    private String triggerDate;

    private String triggerDateTime;

    /**
     *触发时间类型
     */
    private String frequency;

    /**
     *触发时间
     */
    private String triggerTime;

    /**
     * 事件A
     */
    private String eventA;

    /**
     * 事件B
     */
    private String eventB;

    /**
     * 触发时间范围
     */
    private int timeSlotNum;

    /**
     * 触发时间时间类型
     */
    private String timeSlotUnit;

    /**
     *
     */
    private String reachTimeType;

    /**
     * 延迟时间
     */
    private int reachTimeNum;

    /**
     * 延迟时间单位
     */
    private String reachTimeUnit;

    /**
     * 开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 开始时间
     */
    private String startTime;

    /**
     * 结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 结束时间
     */
    private String endTime;

    /**
     * 限制类型
     */
    private String limitType;

    /**
     * 限制用户天数
     */
    private int limitTimeSlot;

    /**
     * 限制用户次数
     */
    private int limitTimes;

    private String userAttributes;

    private String userActions;

    private String userActionOrders;

    private String supportABTest;

    private String touch;

    /**
     * 触达类型
     */
    private String touchType;

    /**
     * 券
     */
    private String tickets;

    /**
     * 短信文案
     */
    private String message;

    /**
     *服务号文案
     */
    private String servercePlatform;

    /**
     * 主题
     */
    private String theme;

    /**
     * 内容
     */
    private String content;

    /**
     * 模板ID
     */
    private String tempateId;

    /**
     * 活动ID
     */
    private String activityId;

    /**
     * 活动名称
     */
    private String activityName;

    /**
     * 勿扰
     */
    private String doNotDisturb;

    /**
     * 勿扰开始时间
     */
    private String notDisturbStartTime;

    /**
     * 勿扰结束时间
     */
    private String notDisturbEndTime;

    /**
     * 动作
     */
    private String action;

    private String mainTriggerTimeNum;

    private String mainTriggerTimeUnit;

    private String mainPoint;

    private String targetList;

    /**
     * 第一步
     */
    private String step1Json;

    /**
     * 第二步
     */
    private String step2Json;

    /**
     * 第三步
     */
    private String step3Json;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public String getPlanTypeIndex() {
        return planTypeIndex;
    }

    public void setPlanTypeIndex(String planTypeIndex) {
        this.planTypeIndex = planTypeIndex;
    }

    public String getTriggerTypeIndex() {
        return triggerTypeIndex;
    }

    public void setTriggerTypeIndex(String triggerTypeIndex) {
        this.triggerTypeIndex = triggerTypeIndex;
    }

    public String getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(String checkStatus) {
        this.checkStatus = checkStatus;
    }

    public String getTriggerDate() {
        return triggerDate;
    }

    public void setTriggerDate(String triggerDate) {
        this.triggerDate = triggerDate;
    }

    public String getTriggerDateTime() {
        return triggerDateTime;
    }

    public void setTriggerDateTime(String triggerDateTime) {
        this.triggerDateTime = triggerDateTime;
    }

    public String getFrequency() {
        return frequency;
    }

    public void setFrequency(String frequency) {
        this.frequency = frequency;
    }

    public String getTriggerTime() {
        return triggerTime;
    }

    public void setTriggerTime(String triggerTime) {
        this.triggerTime = triggerTime;
    }

    public String getEventA() {
        return eventA;
    }

    public void setEventA(String eventA) {
        this.eventA = eventA;
    }

    public String getEventB() {
        return eventB;
    }

    public void setEventB(String eventB) {
        this.eventB = eventB;
    }

    public int getTimeSlotNum() {
        return timeSlotNum;
    }

    public void setTimeSlotNum(int timeSlotNum) {
        this.timeSlotNum = timeSlotNum;
    }

    public String getTimeSlotUnit() {
        return timeSlotUnit;
    }

    public void setTimeSlotUnit(String timeSlotUnit) {
        this.timeSlotUnit = timeSlotUnit;
    }

    public String getReachTimeType() {
        return reachTimeType;
    }

    public void setReachTimeType(String reachTimeType) {
        this.reachTimeType = reachTimeType;
    }

    public int getReachTimeNum() {
        return reachTimeNum;
    }

    public void setReach_time_num(int reachTimeNum) {
        this.reachTimeNum = reachTimeNum;
    }

    public String getReachTimeUnit() {
        return reachTimeUnit;
    }

    public void setReachTimeUnit(String reachTimeUnit) {
        this.reachTimeUnit = reachTimeUnit;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getLimitType() {
        return limitType;
    }

    public void setLimitType(String limitType) {
        this.limitType = limitType;
    }

    public int getLimitTimeSlot() {
        return limitTimeSlot;
    }

    public void setLimitTimeSlot(int limitTimeSlot) {
        this.limitTimeSlot = limitTimeSlot;
    }

    public int getLimitTimes() {
        return limitTimes;
    }

    public void setLimitTimes(int limitTimes) {
        this.limitTimes = limitTimes;
    }

    public void setReachTimeNum(int reachTimeNum) {
        this.reachTimeNum = reachTimeNum;
    }

    public String getUserAttributes() {
        return userAttributes;
    }

    public String getSupportABTest() {
        return supportABTest;
    }

    public void setSupportABTest(String supportABTest) {
        this.supportABTest = supportABTest;
    }

    public String getTouch() {
        return touch;
    }

    public void setTouch(String touch) {
        this.touch = touch;
    }

    public String getTouchType() {
        return touchType;
    }

    public void setTouchType(String touchType) {
        this.touchType = touchType;
    }

    public String getTickets() {
        return tickets;
    }

    public void setTickets(String tickets) {
        this.tickets = tickets;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getServercePlatform() {
        return servercePlatform;
    }

    public void setServercePlatform(String servercePlatform) {
        this.servercePlatform = servercePlatform;
    }

    public String getTheme() {
        return theme;
    }

    public void setTheme(String theme) {
        this.theme = theme;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getTempateId() {
        return tempateId;
    }

    public void setTempateId(String tempateId) {
        this.tempateId = tempateId;
    }

    public String getActivityId() {
        return activityId;
    }

    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getDoNotDisturb() {
        return doNotDisturb;
    }

    public void setDoNotDisturb(String doNotDisturb) {
        this.doNotDisturb = doNotDisturb;
    }

    public String getNotDisturbStartTime() {
        return notDisturbStartTime;
    }

    public void setNotDisturbStartTime(String notDisturbStartTime) {
        this.notDisturbStartTime = notDisturbStartTime;
    }

    public String getNotDisturbEndTime() {
        return notDisturbEndTime;
    }

    public void setNotDisturbEndTime(String notDisturbEndTime) {
        this.notDisturbEndTime = notDisturbEndTime;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public String getStep1Json() {
        return step1Json;
    }

    public void setStep1Json(String step1Json) {
        this.step1Json = step1Json;
    }

    public String getStep2Json() {
        return step2Json;
    }

    public void setStep2Json(String step2Json) {
        this.step2Json = step2Json;
    }

    public String getStep3Json() {
        return step3Json;
    }

    public void setStep3Json(String step3Json) {
        this.step3Json = step3Json;
    }

    public void setUserAttributes(String userAttributes) {
        this.userAttributes = userAttributes;
    }

    public String getUserActions() {
        return userActions;
    }

    public void setUserActions(String userActions) {
        this.userActions = userActions;
    }

    public String getUserActionOrders() {
        return userActionOrders;
    }

    public void setUserActionOrders(String userActionOrders) {
        this.userActionOrders = userActionOrders;
    }

    public String getMainTriggerTimeNum() {
        return mainTriggerTimeNum;
    }

    public void setMainTriggerTimeNum(String mainTriggerTimeNum) {
        this.mainTriggerTimeNum = mainTriggerTimeNum;
    }

    public String getMainTriggerTimeUnit() {
        return mainTriggerTimeUnit;
    }

    public void setMainTriggerTimeUnit(String mainTriggerTimeUnit) {
        this.mainTriggerTimeUnit = mainTriggerTimeUnit;
    }

    public String getMainPoint() {
        return mainPoint;
    }

    public void setMainPoint(String mainPoint) {
        this.mainPoint = mainPoint;
    }

    public String getTargetList() {
        return targetList;
    }

    public void setTargetList(String targetList) {
        this.targetList = targetList;
    }

    @Override
    public String getCreateBy() {
        return createBy;
    }

    @Override
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "OperatePlanDO{" +
                "id=" + id +
                ", title='" + title + '\'' +
                ", planName='" + planName + '\'' +
                ", planTypeIndex='" + planTypeIndex + '\'' +
                ", triggerTypeIndex='" + triggerTypeIndex + '\'' +
                ", checkStatus='" + checkStatus + '\'' +
                ", triggerDateTime='" + triggerDateTime + '\'' +
                ", frequency='" + frequency + '\'' +
                ", triggerTime='" + triggerTime + '\'' +
                ", eventA='" + eventA + '\'' +
                ", eventB='" + eventB + '\'' +
                ", timeSlotNum=" + timeSlotNum +
                ", timeSlotUnit='" + timeSlotUnit + '\'' +
                ", reachTimeType='" + reachTimeType + '\'' +
                ", reach_time_num=" + reachTimeNum +
                ", reachTimeUnit='" + reachTimeUnit + '\'' +
                ", startDate=" + startDate +
                ", startTime='" + startTime + '\'' +
                ", endDate=" + endDate +
                ", endTime='" + endTime + '\'' +
                ", limitType='" + limitType + '\'' +
                ", limitTimeSlot=" + limitTimeSlot +
                ", limitTimes=" + limitTimes +
                ", supportABTest='" + supportABTest + '\'' +
                ", touch='" + touch + '\'' +
                ", touchType='" + touchType + '\'' +
                ", tickets='" + tickets + '\'' +
                ", message='" + message + '\'' +
                ", servercePlatform='" + servercePlatform + '\'' +
                ", theme='" + theme + '\'' +
                ", content='" + content + '\'' +
                ", tempateId='" + tempateId + '\'' +
                ", activityId='" + activityId + '\'' +
                ", activityName='" + activityName + '\'' +
                ", doNotDisturb='" + doNotDisturb + '\'' +
                ", notDisturbStartTime='" + notDisturbStartTime + '\'' +
                ", notDisturbEndTime='" + notDisturbEndTime + '\'' +
                ", action='" + action + '\'' +
                ", step1Json='" + step1Json + '\'' +
                ", step2Json='" + step2Json + '\'' +
                ", step3Json='" + step3Json + '\'' +
                ", createBy='" + createBy + '\'' +
                ", createTime=" + createTime +
                '}';
    }
}
